<?php
include_once('BaseTeste.php');
include_once('TesteContrato.php');
include_once('TesteSelecao.php');
include_once('../workflows/InterfaceFluxo.php');
include_once('../workflows/BaseFluxoEncaminhamentos.php');
include_once('../workflows/FluxoVinculacao.php');

class TesteVinculacao extends BaseTeste
{
    public $quantidade = 1;
    public $quantidadeVagas;
    
    public function TesteVinculacao($quantidadeVagas = 10)
    {
        $this->quantidadeVagas = $quantidadeVagas;
    }
    
    public function testarCaso1()
    {
        //1. Selecionar os Candidatos
        $testeSelecao = new TesteSelecao($this->quantidadeVagas);
        $contrato = new Contrato($testeSelecao->testar(1));
        
        $vagas = $contrato->getVagas();
        
        foreach ($vagas as $v) {
            //2. Encaminhar para o PT
            $this->encaminharPostoTrabalho($v['vagaid']);
            
            //3. Finalizar Vinculação
            $this->finalizar($v['vagaid']);
        }
        
        return $contrato->contratoid;
    }
    
    public function encaminharPostoTrabalho($vagaid)
    {
        sleep(1);
        
        $this->logarNucleoGestor();
        
        $vaga = new Vaga($vagaid);
        $candidatoVaga = $vaga->getCandidatoVagaAtivo();
        
        FluxoVinculacao::encaminharPostoTrabalho($candidatoVaga, 'Encaminhado automaticamente.');
    }
    
    public function finalizar($vagaid)
    {
        sleep(1);
        
        $this->logarNucleoGestor();
        
        $vaga = new Vaga($vagaid);
        $candidatoVaga = $vaga->getCandidatoVagaAtivo();
        
        FluxoVinculacao::finalizar($candidatoVaga, 'Finalizado automaticamente.');
    }
}
?>